/**
 * Created by Pierre on 05.04.16.
 */
var express = require("express");
var router = express.Router({
  mergeParams: true
});
var Customer = require("../../models/customers");
var middleware = require("../../middleware/index.js");
//TODO add a way for pagination
//INDEX - show all Customers
router.get("/", function (req, res) {
  var regexid = /^[a-f\d]{24}$/i;
  var search = req.query.search;

  if (regexid.exec(search) !== null) {
    Customer.findById(search, function (err, foundCustomer) {
      if (err) {
        console.log(err);
      } else {
        res.end(JSON.stringify([foundCustomer]));
      }
    });
  } else {
    var re = new RegExp(search);
    var offset = 0;
    if (req.query.offset) {
      offset = req.query.offset;
    }
    Customer.find().or([{
      'name': {
        $regex: re
      }
    }, {
      'mail': {
        $regex: re
      }
    }, {
      'phone': {
        $regex: re
      }
    }, {
      'customernumber': {
        $regex: re
      }
    }, {
      'street': {
        $regex: re
      }
    }]).skip(parseInt(offset)).limit(20).exec(function (err, allCustomers) {
      if (err) {
        console.log(err);
      } else if (allCustomers.length === 0) {
        res.sendStatus(404);
      } else {
        res.end(JSON.stringify(allCustomers));
      }
    });
  }

});

// TODO add findsingle for id

module.exports = router;